/*
Q:Go语言中的panic和recover有什么作用？
A:panic和recover是Go语言中用于处理异常的机制。当程序遇到无法处理的错误时，可以使用panic引发一个异常，中断程序的正常执行。
而recover用于捕获并处理panic引发的异常，使程序能够继续执行。
*/
package main

import "fmt"

func main() {
	result := divide(4, 0)
	fmt.Println("Result", result)
}

func divide(a, b int) int {
	defer func() {
		if err := recover(); err != nil {
			fmt.Println("Error:", err)
		}
	}()

	if b == 0 {
		panic("division by zero")
	}

	return a / b
}

/*
在上述代码中，我们定义了一个divide函数，用于执行除法运算。在函数中，我们使用panic关键字引发一个异常，当除数为零时，会引发一个"division by zero"的异常。
然后，我们使用defer和recover来捕获并处理这个异常，打印出错误信息。通过使用recover，我们可以避免程序因为异常而崩溃，而是继续执行后续的代码。
*/
